package com.wc.AlgoOJ_homework.AlgoOJ_BL4.G_消除游戏;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @Author congge
 * @Date 2024/4/6 12:25
 * @description http://43.138.190.70:8888/p/520?tid=660a4f84d7ba43eb2f4c549d
 */
public class Main {
    static int N = 1000010;
    static int[] l = new int[N];
    static int[] r = new int[N];
    static boolean[] st = new boolean[N];
    static char[] s;
    // q表示待选集合, w 表示待删除集合
    static ArrayList<Integer> q = new ArrayList<>(), w = new ArrayList<>();

    static void filterDel() {
        w.clear();
        for (int k : q) {
            int a = l[k], b = k, c = r[k];
            if (s[a] != '#' && s[a] != s[b] && s[b] == s[c]) {
                insert(a);
                insert(b);
            } else if (s[c] != '#' && s[a] == s[b] && s[b] != s[c]) {
                insert(b);
                insert(c);
            }
        }
    }

    static void insert(int k) {
        if (!st[k]) {
            st[k] = true;
            w.add(k);
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        s = (" " + sc.next() + " ").toCharArray();
        int n = s.length - 2;
//        boolean flg = true;
//        while (flg) {
//            flg = false;
//            Arrays.fill(st, 1, n + 1, false);
//            for (int i = 2; i < n; i++) {
//                if (s[i] != s[i - 1] && s[i] == s[i + 1]) {
//                    flg = true;
//                    st[i] = true;
//                    st[i - 1] = true;
//                }
//                if (s[i] == s[i - 1] && s[i] != s[i + 1]) {
//                    // 防止删除次
//                    flg = true;
//                    st[i] = true;
//                    st[i + 1] = true;
//                }
//            }
//            int curN = 0;
//            for (int i = 1; i <= n; i++) {
//                if (!st[i])
//                    s[++curN] = s[i];
//            }
//            n = curN;
//        }
        s[0] = s[n + 1] = '#';
        for (int i = 1; i <= n; i++) {
            l[i] = i - 1;
            r[i] = i + 1;
            q.add(i);
        }
        r[0] = 1;
        l[n + 1] = n;
        while (true) {
            filterDel();
            if (w.isEmpty()) break;
            q.clear();
            for (int k : w) {
                int a = l[k], b = k, c = r[k];
                if (!st[a] && a != 0 && (q.isEmpty() || q.get(q.size() - 1) != a)) q.add(a);
                if (!st[c] && c != n + 1) q.add(c);
                r[a] = c;
                l[c] = a;
            }
        }
        if (r[0] == n + 1) System.out.println("EMPTY");
        else {
            for (int i = r[0]; i <= n; i = r[i])
                System.out.print(s[i]);
        }
    }
}
